package com.kobako;

import com.kobako.entity.BbsEntity;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;

/**
 * Created by kobako on 2017/4/7.
 * Just a game
 */
public class BatisTest {
    //    public static void main(String[] args) {
//        try {
//            String resourse = "com/kobako/config/mybatis-conf.xml";
//            InputStream inputStream = Resources.getResourceAsStream(resourse);
//            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
////            factory.
//            SqlSession session = factory.openSession();
//            try{
//                String stat = "com.kobako.mappers.BbsMapper.insertBbs";
////                List<BbsEntity> bbs = session.selectList(stat);
////                List<HashMap> maps =  session.selectList(stat);
////                maps.forEach(System.out::println);
//                BbsEntity bbs = new BbsEntity();
//                bbs.setName("Mybatis");
//                bbs.setComment("I want to say.");
//                bbs.setEmoji("/img/emoji/huaji.jpg");
//                session.insert(stat,bbs);
//                session.commit();
//            }finally {
//                session.close();
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//    public static void main(String[] args) {
//        try{
//            String confResource = "com/kobako/config/mybatis-conf.xml"; //conf文件路径，路径！
//            InputStream confStream = Resources.getResourceAsStream(confResource); //Resources类是mybatis自带的
//            SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(confStream); //从sql工厂建造者里得到sql工厂，这些都是mybatis的类。SqlSessionFactory在整个应用运行期间可以一直存在，这是官方文档提到的最佳实践。
//            SqlSession session = ssf.openSession(); //session不是线程安全的，所以最佳实践是每次用完就close
//            try{
//                String mapperName = "com.kobako.mappers.BbsMapper.insertBbses"; //这里和mapper的命名空间一致！
////                BbsEntity entity = new BbsEntity();
////                entity.setName("盒子");
////                entity.setComment("测试中文");
////                entity.setEmoji("img/emoji/huaji.jpg");
////                session.insert(mapperName,entity);
//                List<BbsEntity> bbses = new ArrayList<>();
//                for (int i=0;i<10;i++){
//                    BbsEntity entity = new BbsEntity();
//                    entity.setName("批量测试->"+i);
//                    entity.setComment("是的");
//                    entity.setEmoji("no someting to show");
//                    bbses.add(entity);
//                }
//                session.insert(mapperName,bbses);
//            }finally {
//                session.commit();
//                session.close();
//            }
//        }catch (IOException e){
//            e.printStackTrace();
//        }
//    }
}
